#include <bits/stdc++.h>

using namespace std;

struct A{
	A(){
		fprintf(stderr, "A initialize\n");
	}
};
struct B
{
	int x;
	B(){
		fprintf(stderr, "B initialize without parameter\n");
	}
	B(int x):x(x){
		fprintf(stderr, "B initialize with %d\n",x);
	}
};
struct C
{
	A x;B y;
	C():x(),y(12){
		fprintf(stderr, "C initialize\n");
		y.x/=2;
		fprintf(stderr, "y.x=%d\n", y.x);
	}
};

C c;

int main(){

	fprintf(stderr, "main starts\n");
	B bb;
	bb=B(3);
	B b=B(2);

	return 0;
}